<?php
    /**
     * Archivo que se utiliza para enviar para guardar y actualizar los datos clínicos y epidemiológicos del Paciente.
     * Realiza las validaciones propias de recibir los datos del formulario de datos clínicos y epidemiológicos, como son: Fecha de Atención,  de Inicio de Síntomas, de Toma de Muestras.
     * Se encarga de enviar al método de la clase Registro las variables necesarias para el guardado de los Síntomas y Diagnósticos del Paciente. Se realiza el guardado de la Toma de Muestra
     * en caso de que se le haya tomado una muestra al Paciente.
     *
     *
     * @desc Procedimiento: Guarda Datos Clinicos y Epidemiologicos del Paciente
     * @filesource
     * @author       Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @uses         funcReg
     * @uses         session
     * @uses         fechas
     * @method       calculaRFC()
     * @method       formatofecha1()
     * @method       querySQL()
     * @method       registrarAuxMuestra()
     * @method       bitacoraRegistro()
     * @method       registroSintomas()
     * @method       registroDiagnosticos()
     * @method       actualizaAuxMuestra()
     * @method       insertaLaboratorio()
     * @method       completaRegistro()
     * @version      1.0
     * @internal     gp_id_principal
     * @internal     gp_id_generales
     * @internal     gp_nOrigenDatos
     * @internal     gp_registros_sintomas
     * @internal     gp_registros_diagnosticos
     * @internal     gp_fIngreso
     * @internal     gp_fSintoma_inicial
     * @internal     gp_fToma
     * @internal     gp_nEvolucion
     * @internal     gp_nTomaMuestra
     *
     *
     */

#Se declaran las clases necesarias para guardar y actualizar los datos del Paciente.
include("../Lib/pivote.php");
include("../Lib/class.funcReg.php");
include("../Lib/class.session.php");
include("../Lib/class.fechas.php");

#Se cachan las variables para procesar
import_request_variables("gP", "gp_");

#Se realiza la conexion a la DB y se instancian las clases
$registro = new funcReg(Srv, Usr, Pass, base);
$session  = new session();
$fechas= new fechas();

$dHoy = date("Ymd H:i:s");
$Inicio_registros = 20091001;
$imp_tabla = "<table width='750' border='0' align='center' cellpadding='3' cellspacing='3' class='datos cuadro2'><tr><td><img src='images/modi.png'  width='30' height='30' border='0' />";
$imp_fin_tabla = "</td></tr></table>";

if($gp_ciclo == 1){
	$fechaIng = $fechas->formatofecha1($gp_fIngreso);
	$fechaSin = $fechas->formatofecha1($gp_fSintoma_inicial);
//LA FECHA DE INGRESO NO PUEDE SER MAYOR AL DIA DE HOY
        
	if ($fechaIng > date("Ymd")) {
		$msg = "LA FECHA DE INGRESO NO PUEDE SER MAYOR AL DIA DE HOY";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

//LA FECHA DE INGRESO NO PUEDE SER MENOR AL 1 DE octubre DEL 2009		
        
	if ($fechaIng < $Inicio_registros) {
		$msg = "LA FECHA DE INGRESO NO PUEDE SER MENOR AL 1 DE OCTUBRE DEL 2009";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

//LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MAYOR AL DIA DE HOY
	
	if ($fechaSin > date("Ymd") || $fechaSin > $fechaIng) {
		$msg = "LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MAYOR AL DIA DE HOY O MAYOR A LA FECHA DE INGRESO";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
		
//LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MENOR AL 1 DE ENERO DEL 2009	

	if ($fechaSin < $Inicio_registros) {
		$msg = "LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MENOR AL I DE OCTUBRE DEL 2009";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
}


if($gp_ciclo == 2){        
//	$fIngreso = formatofecha(convertdate5($fIngresov));
	$fechaIng2 = $fechas->formatofecha($gp_fIngreso);
	$fechaSin2 = $fechas->formatofecha($gp_fSintoma_inicial);

	if($nTomaMuestra == 1){
           $fechaT = $fechas->formatofecha($gp_fToma);
            //LA FECHA DE TOMA DE MUESTRA NO PUEDE SER MAYOR AL DIA DE HOY
            if ($fechaT > date("Ymd")) {
                $msg = "LA FECHA DE TOMA DE LA MUESTRA NO PUEDE SER MAYOR AL DIA DE HOY";
                echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
            }
			
            //LA FECHA DE TOMA DE MUESTRA NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
            if ($fechaT < $fechaIng2) {
		$msg = "LA FECHA DE TOMA DE MUESTRA (".$fechaT.") NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE (".$fechaIng2.")";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
            }
	}

	if($gp_nEvolucion == 1 || $gp_nEvolucion == 4 || $gp_nEvolucion == 7 || $gp_nEvolucion == 9){
		
		$fechaE = $fechas->formatofecha($gp_fegreso);
	
		//LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY
		if ($fechaE > date("Ymd")) {
			$msg = "LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}
	
		//LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
		if ($fechaE < $fechaIng2) {
			$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}

	}
}

//*****
if($gp_ciclo == 9){
	//validaciones evoluion
	//-----------------------
	if($gp_nEvolucion == 1){
		$nIntubacion = NULL;
		$nDclinico = NULL;
	}
	if($gp_nEvolucion == 2){
		$nsubevolucion = NULL;
	}
	if($gp_nEvolucion == 3){
		$nsubevolucion = NULL;
		$nIntubacion = NULL;
	}
	if($gp_nEvolucion == 4){
		$nsubevolucion = NULL;
		$nIntubacion = NULL;
		$nDclinico = NULL;
	}
}
//-----------------------

if(substr($gp_fIngreso,3,1) == " ")
	$fechaIng3 = $fechas->formatofecha(convertdate5($gp_fIngreso));
else
	$fechaIng3 = $fechas->formatofecha($gp_fIngreso);
	
//return;
if (isset($gp_nEvolucion)) {
    if($gp_nEvolucion == 1 || $gp_nEvolucion == 4 || $gp_nEvolucion == 7 || $gp_nEvolucion == 9){

	//LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY
	$fechaE = $fechas->formatofecha($gp_fegreso);
	if ($fechaE > date("Ymd")) {
		$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

	//LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
	if ($fechaE < $fechaIng3) {
		$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
    }
}

$arreglo = $_POST;
//***
//echo "<br>Inicia ciclo de actualizacion<br>";
if (!$gp_id_principal > 0) {
    $accion = 1;
    $ejecutaQuerys = $registro->querySQL($gp_id_generales, $gp_id_principal, $gp_tabla, $fechas,$arreglo);
}else{
    $accion = 2;
    $nEvolucion = (isset($_POST['nEvolucion'])) ? $_POST['nEvolucion'] : null;
    $ejecutaQuerys = $registro->querySQL($gp_id_generales, $gp_id_principal, $gp_tabla, $fechas, $arreglo);
    
    if (isset($gp_nOrigenDatos) && ($gp_nOrigenDatos == 1 && $gp_nTomaMuestra == 1)) {
        $registro->registrarAuxMuestra($gp_id_principal, $gp_id_generales);
    }   	
}

$dat_bitacora =$registro->bitacoraRegistro($gp_id_principal, $gp_tabla, $accion);
$gp_id_principal = (!$gp_id_principal > 0) ? $dat_bitacora['id_principal'] : $gp_id_principal;


// --------------------------------------------------------------------------------------
// EN EL FORMULARIO 2 GUARDA LOS SINTOMAS Y CO-MORBILIDAD
// --------------------------------------------------------------------------------------

if($gp_fsig == 1){
    //Sintomas
    $registro->registroSintomas($gp_id_principal, $gp_registros_sintomas, $arreglo);
    //Diagnosticos
    $registro->registroDiagnosticos($gp_id_principal, $gp_registros_diagnostico, $arreglo);
}
// SOLO FORMULARIO 3 (MUESTRAS)

  
if($gp_fsig == 2 && $gp_nTomaMuestra == 1){
    $ejecutaQuerys = $registro->actualizaAuxMuestra($gp_id_principal, $gp_lEntidad, $gp_id_sector, $gp_nLaboratorio, $fechas, $arreglo);
    if ($ejecutaQuerys) {
        $registro->insertaLaboratorio($gp_id_principal,$gp_id_generales, $gp_nTipoMuestra, $gp_nLaboratorio, $gp_fToma, $fechas);
    }
}

 
if ($fsig == 2) {    
    $exec_qry = $registro->completaRegistro($gp_id_principal, $gp_id_generales, $gp_nStatus);
}
    /* ------------------------------------------------------------------------------------------
    SI EJECUTA LOS QUERYS, REDIRECCIONA LAS PAGINAS
    ---------------------------------------------------------------------------------------------
    */
    if ($ejecutaQuerys) {
        if($gp_id_principal){
		$div = "general";
		if($gp_fsig == 1){
			$mensaje ="Los datos clinicos se guardaron correctamente. Por favor continue con el registro de antecedentes epidemiologicos";
			$pagina ="registroPacientes/pacienteh3.php?id_principal=$gp_id_principal&id_generales=$gp_id_generales&fSintoma_inicial=$gp_fSintoma_inicial&npag=$gp_npag&nTipoPaciente=$gp_nTipoPaciente&nuevoe=$gp_nuevoe";
		} else if($fsig == 2){
			$mensaje = "El registro se completo satisfactoriamente.";
			$pagina = "avisocompleto.php?x=1&id_generales=$gp_id_generales";
			$div = "inicio";
		} else if($fsig == 3){
			$mensaje = "El registro se actualizo satisfactoriamente.";
			$pagina = "avisoactualizacion.php?x=1";
			$div = "inicio";
		} else if($fsig == 4){
			$mensaje = "El registro se actualizo satisfactoriamente.";
			$pagina = "avisoactualizacion.php?x=1";
			$div = "inicio";
		}
		echo "<script language='javascript'> alert('$mensaje');";
		echo "liga('$pagina','$div');</script>";
	}
    }

//------------------------------------------------------------------------------------------

?>
